TP - Le gestionnaire de paquet et les archives
Gestionnaire de paquet
2.1 Suite à l'installation de votre système, vous voulez vous assurer qu'il est à jour.
- Lancez la commande
apt update. Quels dépôts sont contactés pendant cette opération ? - À l'aide de
apt list --upgradable, identifiez sifirefox,libreoffice,linux-firmwareetaptpeuvent être mis à jour - et identifiez l'ancienne version et la nouvelle version. - Lancez la mise à jour avec
apt full-upgrade. Pendant le déroulement de la mise à jour, identifiez les trois parties clefs du déroulement : liste des tâches et validation par l'utilisateur, téléchargement des paquets, et installation/configuration.
- Lancez la commande
2.2 - Cherchez avec
apt searchsi le programmeslest disponible. (Utilisergreppour vous simplifiez la tâche). À quoi sert ce programme ? Quelles sont ses dépendances ? (Vous pourrez vous aider deapt show). Finalement, installez ce programme en prêtant attention aux autres paquets qui seront installés en même temps.2.3 - Même chose pour le programme
lolcat2.4 - Même chose pour le programme
nyancat- mais cette fois, trouvez un moyen de télécharger le.debdirectement depuis le site de debian qui référence les paquets, puis installez ce.debavecdpkg -i. (Pour ce faire, taper par exemplenyancat package debiandans un moteur de recherche. Une fois arrivé sur la bonne page, vous trouverez une section 'Download' en bas. Parmis les architectures proposées, prendreamd64.)2.5 - Parfois, il est nécessaire d'ajouter un nouveau dépôt pour installer un programme (parce qu'il n'est pas disponible, ou bien parce qu'il n'est pas entièrement à jour dans la distribution utilisée). Ici, nous prendrons l'exemple de
mongodb(un logiciel pour gérer des bases NoSQL) dont la version 7 n'est disponible que via un dépôt précis maintenu par les auteurs de mongodb.- Regarder avec
apt searchetapt show(etgrep!) si le paquetmongodbest disponible et quelle est la version installable. - Suivez les instruction officielles d'installation ici: https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-debian/#install-mongodb-community-edition
- Ajouter un nouveau fichier
mongodb.listdans/etc/apt/sources.list.davec une unique ligne :deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bullseye/mongodb-org/7.0 main - Faire
apt update. Que se passe-t-il ? Quels serveurs votre machine a-t-elle essayer de contacter ? Pourquoi cela produit-il une erreur ? - Ajoutez la clef d'authentification des paquets avec :
sudo apt install -y gnupg curlcurl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor- Refaire
apt update. Est-ce que ça fonctionne ? - Regarder avec
apt searchetapt show(etgrep!) si le paquetmongodb-orgest disponible et quelle est la version installable. - Installer le paquet. Depuis où a-t-il été téléchargé ?
- Désinstallez ce paquet (en purgeant les données / fichiers) et supprimez le
mongodb.listpuis refaites unapt updatepour remettre à plat la liste des paquets disponibles.
- Regarder avec
2.6 - Regardez le contenu de
/var/cache/apt/archives. À quoi ces fichiers correspondent-ils ? Trouvez deux méthodes pour nettoyer ces fichiers, l'une "brutale" avecrm, et l'autre "propre" avecapt.2.7 - Identifiez l'utilité de la commande
apt moo
Gestion des archives
- 2.8 - Créez une archive (non-compressée !) de votre répertoire personnel avec
tar. - 2.9 - En utilisant
gzip, produisez une version compressée de l'archive de la question précédente - 2.10 - Recommencez mais en produisant une version compressée directement
- 2.11 - En fouillant dans les options de
tar, trouvez un moyen de lister le contenu de l'archive - 2.12 - Créez un dossier
test_extractdans/tmp/, déplacez l'archive dans ce dossier puis décompressez-là dedans. - 2.13 - (Avancé) En reprenant le
.debdu programmenyancatde la question 1.14, utilisezarettarpour décompresser le.debjusqu'à trouver le fichier de controle debian, ainsi que l'executable contenu dans le paquet. - 2.14 - (Avancé) Trouvez un ou des fichiers
.gzdans/var/log(ou ailleurs ?) et cherchez comment combinercatetgzippour lire le contenu de ce fichier sans créer de nouveau fichier.
Exercices avancés
- Utilisez
aptitude whypour trouver la raison pour laquelle le paquetlibxcomposite1est installé - Utilisez
apt-rdependspour afficher la liste des dépendances delibreoffice. - Investiguez les options de
apt-rdependset du programmedotpour générer un rendu en PNG du graphe de dépendance defirefox. - Trouvez où télécharger le
.debdu paquetnyancatdepuisftp.debian.org - (Très avancé) Renseignez-vous sur
equivset créez un package virtuellolstuffqui dépend desl,lolcatetnyancat